package org.jeecg.modules.backstageModule.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.apache.ibatis.annotations.Param;
import org.jeecg.modules.zonglzp.entity.User;
import org.springframework.stereotype.Component;

import java.util.Date;

@Component
public interface BackCustMapper {


    /*
    总后台客户管理查询
     */
    IPage<User> getBackCustList(Page<User> page, @Param("realName") String realName, @Param("phone") String phone, @Param("companyName") String companyName, @Param("companyCode") String companyCode,@Param("status") int status);

    /*
    总后台客户管理客户详情
     */
    User getBackCustDetail(@Param("userId") int userId);

    /*
    客户管理中的客户停用
     */
    int stopCust(@Param("userId") int userId, @Param("status") int status);

    //设置月结额度
    int setUserMouth(@Param("userId") int userId, @Param("isMonth") int isMonth, @Param("monthLines") String monthLines);


    //总后台增加员工
    int addBackCustomer(User user);

    //编辑用户信息
    int updateuser(User user);

    //通过账号查询这个user的id
    int getuserIdbyusexrname(@Param("username") String username);

    //在插入user后  往公司表里插入
    void addusertoCompanyTable(User user);

    //总后台编辑人员的时候同时也要修改公司信息
    void updatecompanybyuserId(User user);

    //得到一个用户的区间消费金额
    String getQujianxiaofeimoneybyId(@Param("id") int id,@Param("starttime") String starttime,@Param("endtime") String endtime);

    //通过公司编码查询到公司的id
    int getcompanyIdbycode(@Param("wenzi") String wenzi);

    //给新增的公司默认添加一个门店
    void addfirststore(@Param("companyName") String companyName, @Param("currentTimeMillis") String currentTimeMillis, @Param("address") String address, @Param("date") Date date, @Param("companyId") int companyId, @Param("phone") String phone,@Param("realName") String realName);

    //通过id查询用户
    User getuserbyId(@Param("id") int id);

    //通过公司id获取门店id
    int getstoreIdbycompanyId(@Param("companyId") int companyId);

    //将这个门店id赋给用户
    void updateuserstoreId(@Param("userId") int userId,@Param("storeId") int storeId);

    //删除用户 假删除哦
    int deleteuser(@Param("userId") int userId,@Param("status") int status);

    //获取当前月结额度
    String getoldmonthLines(@Param("userId") int userId);

    //查询客户当前折扣体系
    String getdiscountSystemNamebyuserId(@Param("discount") String discount);

    //通过人员id查询公司id
    int getcompanyIdbyuserId(@Param("userId") int userId);

    //通过人员id查询公司编码
    String getcompanyCodebyuserId(@Param("userId") int userId);

    //通过公司id删除所有门店
    void deleteallstorebycompanyId( @Param("companyId") int companyId);

    //清空公司下所有员工
    void deleteallstaffbycompanyCode(@Param("companyCode") String companyCode);

    //修改用户的权限编码
    void updateOrgCode(@Param("userId") int userId,@Param("s") String s);
}
